วิธีการสร้าง Amazon EFS และเชื่อมต่อกับ EC2
ครั้งนี้ ผมจะมาเขียนบทความเกี่ยวกับการสร้าง Amazon EFS และทำการเชื่อมต่อกับ EC2
Amazon EFS คืออะไร?
Amazon EFS (Elastic File System) คือ บริการ NFS (Network File System) บน AWS
พื้นที่จัดเก็บที่สามารถเชื่อมต่อกับเครือข่ายอื่นๆ เช่น EC2 ได้โดยตรง
- เชื่อถือได้เนื่องจากข้อมูลอยู่ใน AZ หลายแห่ง (ความทนทาน 99.999999999%)
- ดิสก์กลางสําหรับใช้ร่วมกันที่สามารถเชื่อมต่อจาก EC2 ได้หลายตัว
- คิดราคาตามขนาดของไฟล์ที่จัดเก็บ
- ปรับขนาดเป็นเพตะไบต์โดยอัตโนมัติ คุณจึงใช้งานได้อย่างไม่จํากัดความจุ
ตารางเปรียบเทียบ EFS, EBS, S3
สิ่งที่ต้องมี
1. EC2 Instance
ให้ทำการติดตั้ง EC2 Instance ก่อน สำหรับเพื่อนๆ ที่ยังไม่ได้ทำการติดตั้ง สามารถดูขั้นตอนได้ที่ลิงก์ วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy นี้ได้เลย
เมื่อทำการติดตั้ง EC2 Instance เรียบร้อยแล้ว Security Group ที่ชื่อว่าec2-tinnakorn
หรือชื่อ EC2 Instance ของเพื่อนๆ จะถูกตั้งค่าเป็น Default โดยอัตโนมัติ
2. เป้าหมายในการสร้าง EFS และเชื่อมต่อไปยัง EC2
ถ้าพร้อมแล้วเรามาเริ่มทำตามขั้นตอนในหัวข้อถัดไปได้เลย
สร้าง Security Group ที่ใช้สำหรับ EFS
ไปที่ช่องค้นหา พิมพ์?︎ EC2
» เลือกEC2
มาที่หัวข้อ ▼ Network & Security เลือกSecurity Groups
คลิกCreate security group
ในส่วนของ Basic details ให้ตั้งค่าตามนี้
» Security group name:tinnakorn-efs
» Description:tinnakorn-efs
เลื่อนลงมาด้านล่าง มาที่ Inbound rules แล้วตั้งค่าตามนี้
» คลิกAdd rule
» Type:NFS ▼
» Source:Custom ▼
» ค้นหาชื่อของเรา เช่น? tinnakorn
» Description - optional จะใส่หรือไม่ใส่ก็ได้
เลื่อนลงมาด้านล่างสุด มาที่ Tags - optional แล้วตั้งค่าตามนี้
» Key:? Name
» Value - optional:tinnakorn-efs
» คลิกCreate security group
เมื่อสร้าง Security group เสร็จแล้ว จะได้หน้าตาแบบนี้
ขั้นตอนการสร้าง EFS
ไปที่ช่องค้นหา พิมพ์? EFS
» เลือกEFS
คลิกCreate file system
» Name - optional:tinnakorn-efs
» เลือกCreate
คลิกที่ชื่อ EFS ของเรา เช่นtinnakorn-efs
เลื่อนลงมาด้านล่างสุด แล้วเลือกหัวข้อ Network จากนั้นให้ดูที่คอลัมน์ Mount target state จะเห็นว่ามีสถานะเป็น Creating ต้องรอจนกว่าจะขึ้นAvailable
เมื่อขึ้น Available แล้วให้คลิกManage
ให้ลบ Security groups ของ Default ออกให้หมดโดยการคลิก✕ กากบาท
ตามรูปภาพ
จากนั้นให้คลิกที่Choose security groups ▼
แล้วค้นหาชื่อ security groups ที่สร้างไว้ก่อนหน้านี้ เช่น? tinnakorn-efs
แล้วเลือก security groups ที่เป็นชื่อของเราทั้งหมด 3 โซน
เราจะใช้ security groups ที่สร้างไว้สำหรับ EFS ทั้งหมด 3 โซนตามรูปภาพ จากนั้นคลิกSave
เมื่อสร้าง EFS เสร็จแล้วก็จะได้หน้าตาเหมือนรูปภาพ จากนั้นให้ Copy ID EFS ตามส่วนที่มาร์คไว้เพื่อนำไปใช้ในหัวข้อถัดไป และนำไปวางที่ Notepad ก่อนก็ได้
ขั้นตอนการติดตั้ง Attach EFS จาก EC2
ขั้นตอนต่อไปให้กลับไปที่โปรแกรม PuTTy
สำหรับ PuTTy ของเพื่อนๆ ที่เป็น
[ec2-user@ip-123-45-67-890 ~]$
ให้เปลี่ยนเป็น
[root@ip-123-45-67-890 ~]#
ด้วยคำสั่งนี้ทุกครั้งก่อนที่จะทำการตั้งค่าหรือจัดการ Server
sudo su -
ทำการติดตั้ง EFS เข้าไปใน EC2 เพื่อทำการเชื่อมต่อด้วยคำสั่งนี้
yum install amazon-efs-utils -y
เรียกใช้คำสั่งนี้เพื่อตรวจสอบ Filesystem ที่อยู่ใน EC2 Instance ของเรา
จะเห็นว่าพื้นที่จัดเก็บข้อมูลจะเป็นของ EC2 อย่างเดียว
df
ต่อไปเราจะทำการเชื่อมต่อและเพิ่มพื้นที่จัดเก็บ EFS เข้าไปยัง EC2 เรียกใช้คำสั่งนี้เพื่อสร้างโฟลเดอร์
mkdir -p /mnt/efs
เรียกใช้คำสั่งนี้เพื่อแก้ไขไฟล์ fstab
vi /etc/fstab
เมื่อเข้ามาในไฟล์ fstab แล้วให้แก้ไขไฟล์ตามนี้
ก่อนที่จะแก้ไขเราต้องเตรียม Code ไว้ดังนี้
# ID ที่ได้จากการสร้าง EFS fs-00*************a6 # ap-southeast-1 นี้เป็นโซนของ Singapore ซึ่งเราต้องนำ Code นี้ไปต่อท้าย ID ของ EFS .efs.ap-southeast-1.amazonaws.com:/ /mnt/efs efs defaults,_netdev 0 0 # นำ ID กับ Code มารวมกันตามนี้ fs-00*************a6.efs.ap-southeast-1.amazonaws.com:/ /mnt/efs efs defaults,_netdev 0 0
ต่อไปมาเริ่มแก้ไขไฟล์ fstab ได้เลย
» กดปุ่มi
ให้ขึ้น-- INSERT --
» นำ ID กับ Code ที่รวมกันไว้แล้วมาวางในบรรทัดสุดท้ายเสมอ (*ในกรณีที่มีการทำ Swap Memory หรืออื่นๆ ที่ทำให้มีข้อมูลที่แสดงเพิ่มขึ้นมา ไม่ต้องสนใจ สามารถวางในบรรทัดสุดท้ายได้เลย)
ต่อมาให้กดปุ่มEsc
แล้วคำว่า-- INSERT --
จะหายไป
ตามด้วยพิมพ์:wq
หรือ:x
เพื่อบันทึกและออกจากไฟล์ fstab
เรียกใช้คำสั่งนี้เพื่อเปิดการใช้งานพื้นที่เก็บข้อมูล EFS ไปยัง EC2
mount -a
เรียกใช้คำสั่งนี้เพื่อตรวจสอบ Filesystem อีกครั้ง จะเห็นว่ามีพื้นที่เก็บข้อมูลของ EFS เพิ่มขึ้นมาใน EC2 แล้ว
df
สรุป
ระบบไฟล์ Amazon EFS สามารถจัดเก็บข้อมูลได้ถึงระดับเพตะไบต์ ระบบไฟล์ Amazon EFS มีความยืดหยุ่นและสามารถขยายและลดขนาดได้อัตโนมัติตามการเพิ่มและการลบไฟล์ คุณไม่ต้องจัดเตรียมขนาดระบบไฟล์ล่วงหน้า และจ่ายเฉพาะสิ่งที่คุณใช้เท่านั้น